﻿using WHC.Security.Entity;

namespace WHC.Security.Adapter
{
	public interface ISecurity
	{
		string GetManager(string userName);
		OUInfo GetOU(string identity, int ouID);
		OUInfo[] GetOUByUser(string userName);
		OUInfo[] GetOUs();
		OUInfo[] GetOUsByRole(int roleID);
		RoleInfo GetRole(string identity, int roleID);
		RoleInfo[] GetRoles();
		RoleInfo[] GetRolesByOU(int ouID);
		RoleInfo[] GetRolesByUser(string userName);
		SimpleUserInfo[] GetSimpleUsers(string identity);
		SimpleUserInfo[] GetSimpleUsersByIDs(string identity, string userIDs);
		SimpleUserInfo[] GetSimpleUsersByOU(string identity, int ouID);
		SimpleUserInfo[] GetSimpleUsersByRole(string identity, int roleID);
		FunctionInfo[] GetUserFunctions(string identity, string typeID);
		UserInfo GetUserInfo(string identity);
		bool ModifyPassword(string identity, string userPassword);
		string VerifyUser(string userName, string userPassword, string serialNumber, string typeID);
		string VerifyUserByIdentity(string identity);
	}
}